Enhanced engine and battery operation

ABSTRACT

Information of a plurality of locations on a route for a vehicle is received. A plurality of segments of the route is identified based at least in part on the information. A specified state of charge of a vehicle battery and a specified power output of an engine are determined for each of the segments based at least in part on the information. One or more vehicle subsystems is actuated to navigate each of the segments to change a current state of charge of the vehicle battery to the specified state of charge.

BACKGROUND

Vehicles can use a battery and an internal combustion engine to powervehicle components, including, e.g., a powertrain, a steering rack, etc.When the battery has depleted its charge, the internal combustion engineincreases output to power the components, consuming fuel.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a vehicle with an example energy management system.

FIG. 2 is a block diagram of the example energy management system.

FIG. 3 shows an example route that the vehicle travels from a startpoint to a destination.

FIGS. 4A-4B illustrate a state of charge of a vehicle battery and apower output of a vehicle engine along the example route.

FIG. 5 illustrates another state of charge of the vehicle battery alongthe example route.

FIGS. 6A-6B illustrate another state of charge of the vehicle batteryalong another example route.

FIGS. 7A-7B illustrate another state of charge of the vehicle batteryreaching a depletion threshold at the end of the example route.

FIG. 8 is a block diagram of an example process for actuating thevehicle battery and the vehicle engine along the example route.

FIG. 9 is a block diagram of an example process for adjusting the stateof charge of the vehicle battery to recover regenerative braking energyalong the example route.

DETAILED DESCRIPTION

An autonomous vehicle can use information collected about apredetermined route to determine when to actuate a battery system and anengine to reduce fuel consumption along the route. Because theautonomous vehicle knows the route before embarking on the route, theautonomous vehicle can use the information about the route to determinewhen to charge the battery and when to discharge the battery.Furthermore, the autonomous vehicle can use the engine to charge thebattery system, allowing the autonomous vehicle to coordinate parts ofthe route where battery operation may be more efficient and parts whereengine operation may be more efficient. Thus, the autonomous vehiclecoordinates actuation of components with an energy management system toreduce fuel consumption.

Engine shaft energy can be converted to electrical energy and then tochemical energy in a battery. When the chemical energy is laterconverted back to shaft energy, the amount of shaft energy output may beless than the shaft energy input, creating a “conversion loss”. When thebattery has reached a low state of charge or can collect regenerativebrake energy, the autonomous vehicle may increase the state of charge ofthe battery with the engine, generating conversion losses. However, whenthe autonomous vehicle is operating with the engine, increasing outputof the engine to charge the battery may result in an increase inefficiency because the fuel saved by using the battery more often mayoffset the conversion losses. That is, running the engine at a higheroutput to charge the battery more quickly may result in a fuel savingsthat is higher than the conversion losses. The autonomous vehicle canpredict that such a fuel saving may occur at one or more portions of theroute, and may modify the commanded operation of the battery and theengine to increase the engine output at those portions.

Vehicle batteries can recharge with regenerative braking. When the stateof charge of the battery is at a maximum, however, the charge powerlimit drops to zero and the battery cannot recover energy from theregenerative braking. An autonomous vehicle may know ahead of time wheredecelerations will occur (and thus energy can be recovered fromregenerative braking), then the vehicle can ensure the battery is not atthe maximum state of charge during these portions of the route. That is,the autonomous vehicle can increase battery output on earlier portionsof the route or decreasing battery charging on earlier portions of routeto recover all of the energy from the regenerative braking.

The route may have portions where the autonomous vehicle operates at ahigh speed (e.g., a highway) and portions where the autonomous vehicleoperates at a low speed (e.g., a city). The autonomous vehicle can knowthe predicted speed for the portions of the route ahead of time, and candefer battery operation on the high-speed portions until the laterlower-speed portions. The goal is to use the battery more in urbandriving to avoid frequent engine on/off operation, which can be lessefficient/burn more fuel. By deferring battery operation at one or moreportions of the route, the autonomous vehicle can plan the battery toreach a low state of charge (e.g., become fully depleted) at the end ofthe route. The autonomous vehicle can know the route speed and gradeprofile in advance, and can plan engine output and battery output forthe various portions of the route.

A vehicle controller can use an embedded vehicle model to implementthese features that communicates with one or more modules that collectand store information about the route, e.g., grade, time, and distanceof each segment of the route, traffic data, etc. The vehicle controllercan use the information to predict a speed profile, a grade profile, atraffic profile, etc., for the route to command battery and engineoperation on the route.

The system is implemented via a computer programmed to receiveinformation of a plurality of locations on a route for a vehicle. Thecomputer identifies a plurality of segments of the route based at leastin part on the information. The computer determines a specified state ofcharge of a vehicle battery and a specified power output of an enginefor each of the segments based at least in part on the information. Thecomputer actuates one or more vehicle subsystems to navigate each of thesegments to change a current state of charge of the vehicle battery tothe specified state of charge.

The autonomous vehicle can use information about upcoming segments onthe route to selectively operate the engine and the battery in theupcoming segments, reducing fuel consumption. That is, depending on thecharacteristics of the segment, adjusting the engine output and thebattery discharge can result in an overall increase in battery operationon the route, reducing the amount of fuel consumed by the engine.

Because the computer knows the route ahead of time, and because thecomputer knows how the vehicle will be autonomously controlled at eachsegment along the route, the computer can increase the engine output inone or more segments to charge the battery more quickly upon depletion.As a result, the computer can use the battery more frequently inupcoming segments. Because the battery is used more frequently, theoverall engine output of the route is reduced, reducing the fuelconsumption of the vehicle.

In another example, the computer can use information about thepredetermined route to predict increases in the battery state of chargefrom regenerative braking in upcoming segments. The computer can commandincreased battery output in earlier segments to capture all of theenergy from the regenerative braking in later segments 150. Byincreasing the battery output and capturing all available regenerativebraking energy, the overall engine output of the route is reduced,reducing the fuel consumption of the vehicle.

In yet another example, the computer can identify segments of thepredetermined route where the vehicle is predicted to move above apredetermined speed threshold, e.g., segments on a highway. In thesesegments, the computer can increase engine output to delay depletion ofthe battery. Thus, the battery can be used in segments where thepredicted speed is below the speed threshold, e.g., segments in a city,where operation of the battery can be more efficient. Furthermore, byidentifying segments to increase engine output, the computer canselectively reduce the state of charge of the battery to a depletionthreshold upon completion of the route. Thus, by increasing use of thebattery along the route and delaying depletion of the state of chargeuntil segments where battery operation may be more efficient, the fuelconsumption of the vehicle is reduced.

FIG. 1 illustrates a host vehicle 100 including an energy managementsystem 105. The system 105 determines the route of the vehicle 100 andadjusts the engine 120 and the battery system 125 based on the route andautonomous control of the host vehicle 100 along the route. Althoughshown as a car, the host vehicle 100 may include any passenger orcommercial automobile such as a car, a truck, a sport utility vehicle, acrossover vehicle, a van, a minivan, a taxi, a bus, etc. In somepossible approaches, as discussed below, the host vehicle 100 is anautonomous vehicle that can operate in various autonomous (e.g.,driverless) modes.

FIG. 2 is a block diagram showing example components of the host vehicle100 including components of the energy management system 105. The energymanagement system 105 includes or works in accordance with a processor110, at least one sensor 115, an engine 120, a battery system 125, and acommunications bus 130. The energy management system 105 can beimplemented by an existing vehicle computer, e.g., an autonomous modecontroller, a power train control module, a navigation system, etc.Sensors 115, which are implemented via circuits, chips, or otherelectronic components, include a variety of devices, e.g., a state ofcharge sensor, a throttle sensor, etc. The sensors 115 can output datato the processor 110 via the vehicle 100 network or bus 130, e.g., datarelating to vehicle speed, acceleration, position, system and/orcomponent status, etc. Alternatively, the sensors 115 can output data toa controller. Other sensors 115 could include cameras, motion detectors,etc., i.e., sensors to provide data for evaluating a location of thevehicle, projecting a path of the vehicle in one or more segments, etc.

The vehicle 100 includes the engine 120. The engine 120 can be aninternal combustion engine, e.g., a spark-ignition engine, a dieselengine, a homogeneous-charge compression-ignition engine, etc. Theengine 120 can provide energy to a powertrain which transfers the energyto rotational motion of wheels of the vehicle 100, propelling thevehicle 100. The processor 110 can selectively increase or decreaseoutput of the engine 120 depending on the characteristics of the roadwayand the state of charge of the battery system 125.

The vehicle 100 includes the battery system 125. The battery system 125includes two or more batteries that store energy to power the powertrainto propel the vehicle 100. The battery system 125 can further power oneor more vehicle 100 subsystems, e.g., a climate control subsystem, anentertainment subsystem, a brake subsystem, a steering subsystem, etc.The batteries of the battery system 125 can include, e.g., a lead-acidbattery, a nickel-metal-hydride battery, a lithium-ion battery, etc.

The bus 130 communicatively connects the processor 110, the sensors 115,the engine 120, and the battery system 125. The bus 130 sends andreceives data throughout the system 105, e.g., sending instructions fromthe processor 110 to the engine 120 to increase output. The bus 130 maybe a controller area network (CAN) bus.

The processor 110 is implemented via circuits, chips, or otherelectronic component that can receive the data from the sensors 115. Theprocessor 110 may be programmed to process the sensor 115 data.Processing the data may include processing geo-coordinates or other datastream captured by the sensors 115 to determine one or more segments ofthe route and predict operation of the vehicle 100 in the segments. Asdescribed below and shown in FIG. 2, the processor 110 instructs vehiclecomponents, e.g., a powertrain subsystem, to actuate.

When the processor 110 operates the vehicle 100, the vehicle 100 is an“autonomous” vehicle 100. For purposes of this disclosure, the term“autonomous vehicle” is used to refer to a vehicle 100 operating in afully autonomous mode. A fully autonomous mode is defined as one inwhich each of vehicle 100 propulsion (typically via a powertrainincluding an electric motor and/or internal combustion engine), braking,and steering are controlled by the processor 110.

The processor 110 may control components of the vehicle 100, e.g., tostop the vehicle 100, to avoid targets, etc. The processor 110 may beprogrammed to operate some or all of the components with limited or noinput from a human operator. When the processor 110 operates thecomponents, the processor 110 can ignore input from the human operatorwith respect to components selected for control by the processor 110,which provides instructions, e.g., via a vehicle 100 communications bus130 and/or to electronic control units (ECUs) as are known, to actuatethe components, e.g., to apply brakes, change a steering wheel angle,etc. For example, if the human operator attempts to turn a steeringwheel during steering operation, the processor 110 may ignore themovement of the steering wheel and steer the vehicle 100 according toits programming.

FIG. 3 illustrates the autonomous vehicle 100 traveling along a route135. The route 135 may be a set of directions and locations that thevehicles 100 follows to get from a start point 140 to a destination 145.The route 135 may be divided into segments 150. Each segment 150 is aportion of the route 135 where the processor 110 determines operation ofthe engine 120 and the battery system 125 to propel the vehicle 100.Because the vehicle 100 is autonomous, the processor 110 can planoperation of the engine 120 and the battery system 125 for each segment150 of the route. For example, the processor 110 can increase operationof the battery system 125 in a first segment 150, while in a secondsegment 150, the processor 110 can decrease operation of the batterysystem 125 and increase operation of the engine 120. Dividing the route135 into segments 150 allows the processor 110 to determine batterysystem 125 and engine 120 operation to increase fuel efficiency of thevehicle 100. The processor 110 can specify a power output of the engine120 and a state of charge of the battery system 125 for each segment150.

The processor 110 can use the route 135 to change the state of charge ofthe battery system 125 and increase fuel efficiency prior to embarkingon the route 135. The processor 110 can receive information of aplurality of locations on the route 135 for a vehicle 100. For example,the route 135 can include locations that have increased road grade(i.e., are steeper and may require additional propulsion output), moretraffic intersections, are city or highway roads, etc. Based on theinformation, the processor 110 can identify the segments 150 of theroute 135. For example, the segments 150 can be portions of a roadway ofa predetermined distance, e.g., 1 mile. Alternatively or additionally,the route 135 may have predetermined segments 150 determined by, e.g., anavigation system. The processor 110 can determine a specified state ofcharge of the battery system 125 and a specified power output of theengine 120 for each of the segments 150 prior to embarking on the route135 based at least in part on the information. For example, if one ofthe segments 150 is on a highway, the processor 110 can plan a decreaseof battery system 125 output and an increase of engine 120 output torecharge the battery system 125 for use in non-highway segments 150.Based on the determined battery system 125 and engine 120 outputs, theprocessor 110 can actuate one or more vehicle subsystems to navigateeach of the segments 150. The processor 110 can operate the vehiclesubsystems to change a current state of charge of the battery system 125to the specified state of charge. For example, the processor 110 canselectively actuate a powertrain subsystem with one of the batterysystem 125 and the engine 120 to change the current state of charge ofthe battery system 125.

The processor 110 can collect new information while the vehicle 100 istraveling along the route 135. The new information can change thedetermination of the processor 110 for operation of the engine 120 andthe battery system 125 in one or more segments 150. The processor 110can be programmed to adjust the specified state of charge of the batterysystem 125 and the specified power output of the engine 120 for upcomingsegments 150 based on the new information. For example, the processor110 can receive new traffic information that reduces a predicted speedfor an upcoming segment 150. Based on the new traffic information, theprocessor 110 can specify a lower state of charge of the battery system125 and a reduced power output of the engine 120, operating thepowertrain subsystem with the battery system 125 in the upcoming segmentto conserve fuel.

FIGS. 4A and 4B are graphs illustrating adjusting operation of thebattery system 125 and the engine 120 in the segments to increase fuelefficiency of the vehicle 100. FIGS. 4A and 4B illustrate operation ofthe vehicle 100 traveling in a segment 150 at a constant speed. FIG. 4Aillustrates a first example graph of the state of charge of the batterysystem 125 and the power output of the engine 120. Specifically, thestate of charge of the battery system 125 is represented by the solidline and is measured on the left vertical axis, measured in percent. Thepower output of the engine 120 is represented by the dashed line and ismeasured on the right vertical axis, measured in kilowatts. Thehorizontal axis measures time in seconds. Thus, the segments 150 cancorresponds to specific times on the horizontal axis, as shown in FIGS.4A-4B.

FIG. 4A shows an example graph of battery system 125 and engine 120operation, and FIG. 4B shows another example graph with higher engine120 output and more frequent use of the battery system 125. The engine120 and battery system 125 operation of FIG. 4B can result in anincrease in fuel efficiency when the conversion losses are smaller thanthe energy saved from the reduced fuel consumption. The processor 110can be programmed to identify one or more segments 150 where the speedof the vehicle 100 is predicted to be above a speed threshold and toincrease the power output of the engine 120 when the vehicle 100 is inthose segments 150. The processor 110 can be programmed to plan anincrease of the specified power output of the engine 120 for at leastone of the segments 150 to allow for an increase of the state of chargeof the battery system 125 for an upcoming segment 150.

Operation of the engine 120 can increase the state of charge of thebattery system 125, and when the state of charge of the battery system125 reaches a threshold, the processor 110 reduces operation of theengine 120 and increases operation of the battery system 125, reducingfuel consumption. When the state of charge of the battery system 125drops to a second threshold, the processor 110 increases operation ofthe engine 120 and reduces operation of the battery system 125 until thestate of charge of the battery system 125 increases to the thresholdagain. FIGS. 4A-4B show the threshold to be about 60% and the secondthreshold to be about 30%, but the threshold and the second thresholdcan be other values.

Fuel efficiency can be increased by increasing power output of theengine 120 to increase the state of charge of the battery system 125 andto use the battery system 125 more frequently along the route 135. Theconversion of engine 120 output energy to chemical energy in the batterysystem 125 and later back into energy for the powertrain is known as“conversion loss.” Increasing power output of the engine 120 can chargethe battery system 125 more quickly. The charging allows the batterysystem 125 to be used more frequently and results in a fuel savings thatcan be greater than the conversion losses. Thus, when the energy savedby operating the engine 120 less frequently is greater than theconversion losses caused by charging the battery system 125, theprocessor 110 can command operation of the battery system 125 and theengine 120 to segments 150 of the route 135 to increase output of theengine 120. FIG. 5 illustrates an example graph of a state of charge ofthe battery system 125 along the route. The state of charge of thebattery system 125 can increase with regenerative braking. That is, someof the energy expended when braking the vehicle 100 can be recovered aselectrical energy, increasing the state of charge of the battery system125. Thus, when one or more segments 150 have decelerations of thevehicle 100 that require braking, the processor 110 can be programmed touse the decelerations to increase the state of charge of the batterysystem 125.

However, when the state of charge of the battery system 125 is at amaximum state of charge, the recovered electrical energy cannot bestored. Thus, the processor 110 can be programmed to increase batterysystem 125 output in one or more segments 150 prior to a predicteddeceleration to ensure that recovered electrical energy fromregenerative braking increases the state of charge of the battery system125.

The graph of FIG. 5 shows two example states of charge of the batteryover time. The vertical axis measures the state of charge of the batterysystem 125 in percent. The horizontal axis measures time in seconds. Thesolid line shows a first example state of charge where the batterysystem 125 reaches a maximum state of charge. The maximum state ofcharge is represented by the dotted line. Around times of 200 second,250 seconds, and 300 seconds, the state of charge reaches the maximumstate of charge, so an additional energy cannot be stored.

The dashed line shows a second example state of charge where theprocessor 110 increases battery system 125 output and maintains thestate of charge below the maximum for the entire period of time shown inthe graph. For example, at about 150 seconds, the processor 110 canincrease battery system 125 output to lower the state of charge awayfrom the maximum. Thus, when the vehicle 100 decelerates later (e.g.,near 200 seconds) and energy can be recovered from regenerative braking,the recovered energy is stored in the battery system 125. That is, allrecoverable energy is stored and shown as an increase in the state ofcharge that does not reach the maximum state of charge.

The first state of charge graph, by reaching the maximum state ofcharge, loses the opportunity to recover braking energy as electricalenergy. As a result, the second state of charge graph, which decreasedthe state of charge of the battery system 125 earlier in time, does notreach the maximum state of charge and can fully recover the energy fromregenerative braking. The processor 110 can estimate the energyrecoverable by regenerative braking based on, e.g., a speed of thevehicle 100, a mass of the vehicle 100, a road grade, an estimated dragforce, etc.

The processor 110 can be programmed to command a specified power outputof the engine 120 and output of the battery system 125 to the segments150 of the route 135 prior to embarking on the route 135 to reduce thestate of charge of the battery system 125 to a depletion threshold atthe end of the route 135. The processor 110 can use informationcollected prior to embarking on the route 135 to plan discharging andrecharging of the battery system 125 in the segments 150 to maintain thestate of charge until the end of the route 135. Vehicles 100 may depletethe state of charge of the battery system 125 early in the route 135,requiring output from the engine 120 when the road conditions may not beideal for engine 120 use. By maintaining the state of charge of thebattery system 125 throughout the route 135 and reducing the state ofcharge toward the end of the route, the processor 110 can ensure thatsegments 150 where use of the battery system 125 is preferred will havesufficient charge to operate in those segments 150. Thus, overall fuelconsumption on the route 135 is reduced.

For example, the route 135 can include segments 150 where the vehicle100 is moving on a highway and segments 150 where the vehicle 100 ismoving in a city. The processor 110 can determine whether a specificsegment 150 is in the city or on the highway based on, e.g., locationdata. In the city, where frequent accelerations and decelerations arecommon, operating the powertrain with the battery system 125 can be moreefficient than with the engine 120. On the highway, where the vehicle100 operates at a substantially constant speed that is higher than inthe city, operating the powertrain with the engine 120 can be moreefficient because the battery system 125 would lose its state of chargemore quickly. Thus, the processor 110 can be programmed to adjust thepower output of the engine 120 and the charge output of the batterysystem 125 based on the specific segment 150. Specifically, theprocessor 110 can use a predetermined speed threshold, e.g., a postedspeed limit on the highway, and actuate one or more subsystems with thebattery system 125 when the vehicle 100 is not in the one or moresegments 150 where the vehicle 100 speed is predicted to be above thespeed threshold.

FIG. 6A illustrates a predicted speed profile for five segments 150 a,150 b, 150 c, 150 d, 150 e that comprise an example route 135. Thevertical axis measures speed in miles per hour (mph). The horizontalaxis measures time in seconds. The graph shows the predicted speed thatthe vehicle 100 would follow in the segments 150 a-150 e. The verticaldashed lines demarcate the segments 150 a-150 e in both FIGS. 8A-8B.Based on the predicted speeds in the segments 150 a-150 e, the processor110 can determine whether each segment 150 a-150 e is on a highway or ina city. For example, the segments 150 a, 150 c, 150 e have manyaccelerations and decelerations, frequently moving to and from a speedof 0, indicating that the segments 150 a, 150 c, 150 e can be in a city.Furthermore, the segments 150 b, 150 d have a higher speed that staysmore constant, indicating that the segments 150 b, 150 d can be on ahighway.

FIG. 6B illustrates an example state of charge of the battery system 125of the vehicle 100 while moving in the segments 150 a-150 e. Thevertical axis shows the state of charge of the battery system 125 inpercent. The horizontal axis measures time in seconds. The example ofFIGS. 6A-6B illustrate operating the vehicle 100 solely with the batterysystem 125 from the start of the route 135. As the vehicle 100 moves inthe segment 150 b with a higher speed than the segment 150 a, the stateof charge of the battery system 125 drops rapidly. The state of chargeof the battery system 125 drops to a depletion threshold at about 1500seconds, less than halfway through the route 135. Specifically, thesegment 150 b can be on a highway, where engine 120 operation can bemore efficient. Because the vehicle 100 is traveling at a substantiallyconstant and high speed, the state of charge of the battery system 125decreases quickly, reaching the depletion threshold before the route 135is complete. Thus, more fuel is consumed in the segments 150 c and 150e, which can be in a city where battery system 125 operation can be moreefficient. In FIG. 6B, the depletion threshold is 20%, but the depletionthreshold can be a different value.

FIGS. 7A-7B illustrates an example graph of the state of charge of thebattery system 125 reaching the depletion threshold at the end of theroute 135. FIG. 7A is a reproduction of FIG. 6A, included for comparisonwith FIG. 7B. As with FIG. 6A, FIG. 7A shows the predicted speed of thevehicle 100 in the segments 150 a-150 e.

FIG. 7B illustrates the state of charge of the battery system 125. As inFIG. 6B, the graph of FIG. 7B shows the state of charge of the batterysystem 125 in each of the segments 150 a-150 e over time. FIG. 7B showsthe state of charge reaching the depletion threshold (20% in the exampleof FIG. 7B, but could be a different value) at the end of the segment150 e, i.e., the end of the route 135.

The processor 110 can be programmed to selectively actuate the engine120 in one or more of the segments 150 a-150 e to maintain the state ofcharge of the battery system 125 until the end of the route 135. Thatis, based on a predicted speed for each segment 150 a-150 e, theprocessor 110 can selectively actuate the engine 120 rather than thebattery system 125 for one or more segments 150 a-150 e, preserving thestate of charge. As a result, the processor 110 can selectively actuatethe battery system 125 to reduce the state of charge to reach thedepletion threshold concurrently with completion of the route 135. Forexample, the processor 110 can increase engine output during thesegments 150 b, 150 d, which have a higher speed and can be on thehighway, and increase battery system 125 output during the segments 150a, 150 c, 150 e, which can be in the city, as shown in FIG. 9B. Thus,the state of charge of the battery system 125 can be maintained untilthe end of the route 135, decreasing fuel consumption of the vehicle100.

FIG. 8 illustrates a process 800 for actuating a vehicle propulsionbased on assigned battery system 125 and engine 120 output. The process800 begins in a block 805, where the processor 110 determines the route135 for the vehicle 100. As described above, the processor 110 can usepath-determining techniques to determine the route 135 from the startpoint 140 to the destination 145.

In a block 810, the processor 110 divides the route into a plurality ofsegments 150. Each segment 150 is a portion of the route 135 that theprocessor 110 can command a specified state of charge of the batterysystem 125 and output of the engine 120 based on information collectedabout the segment 150. For example, if the segment 150 is on a highway,the processor 110 can command a higher engine 120 output to attain andmaintain a higher speed. The processor 110 can determine the segments150 by identifying portions of the roadway along the route 135 thatshare common characteristics, e.g., the roadway is a highway, theroadway is in a city, the roadway has several traffic lights, etc.

In a block 815, the processor 110 determines a specified speed for eachsegment 150. The specified speed can be based on, e.g., a posted speedlimit, a predicted traffic flow in the segment, weather conditions, etc.The processor 110 can use information gathered from a data source, e.g.,a remote server, other vehicles 100, etc., to determine the specifiedspeed. The processor 110 can use the commanded speeds to determinebattery system 125 and engine 120 output for each segment 150.

In a block 820, the processor 110 determines a power output for theengine 120 and a charge output for the battery system 125 for eachsegment 150. Based on the speed and the predicted state of charge of thebattery system 125, the processor 110 can command a power output of theengine 120 to maintain the speed and increase the state of charge of thebattery system 125. The processor 110 can alternatively command anoutput of the battery system 125 to decrease the state of charge of thebattery system 125. The processor 110 can command the engine 120 outputand the battery system 125 output to increase the amount of time thatthe powertrain operates on the battery system 125, as shown in FIG. 4B,increasing fuel efficiency of the vehicle 100. As described above, theprocessor 110 can command a higher power output of the engine 120 toincrease the state of charge of the battery system 125 more quickly,allowing the processor to use the battery system 125 to power thepowertrain more frequently. For example, if the segment 150 is on ahighway or other roadway with a high speed and few stops, the processor110 can command a higher output for the engine 120 and lower output forthe battery system 125. In another example, if the segment 150 is on aroadway with lower speeds and more frequent stops, the processor 110 cancommand a lower output for the engine 120 and a higher output for thebattery system 125.

In a block 825, the processor 110 actuates the battery system 125 andthe engine 120 according to the specified state of charge and poweroutput along the route 135. The processor 110 sends control signals tothe battery system 125 over the bus 130 and actuates switches thattransfer energy from the battery system 125 to one or more vehiclecomponents, e.g., a brake, a steering rack, etc. Alternatively oradditionally, the processor 110 can send control signals to a controllerthat actuates the switches. Furthermore, the processor 110 can sendcontrol signals to a throttle and/or a fuel injector to increase ordecrease an amount of fuel and air combusted by the engine 120. Asdescribed above, actuating the engine 120 and the battery system 125according to the specified state of charge and power output can resultin a reduction of fuel consumed by the vehicle 100. Following the block825, the process 800 ends.

FIG. 9 illustrates an example process 900 for adjusting the state ofcharge of the battery system 125 to recover energy from regenerativebraking. The process 900 begins in a block 905, where the processor 110determines the route 135 to be traveled by the vehicle 100. As describedabove, the processor 110 can use path-determining techniques todetermine the route 135 from the start point 140 to the destination 145.Alternatively or additionally, the processor 110 can determine the route135 with a navigation system.

In a block 910, the processor 110 divides the route 135 into a pluralityof segments 150. Each segment 150 is a portion of the route 135 that theprocessor 110 can command a specified state of charge of the batterysystem 125 and output of the engine 120 based on the characteristics ofthe segment 150. For example, if the segment 150 is on a highway, theprocessor 110 can command a higher engine 120 output to attain a higherspeed. The processor 110 can determine the segments 150 by identifyingportions of the roadway along the route 135 that share commoncharacteristics, e.g., the roadway is a highway, the roadway is in acity, the roadway has several traffic lights, etc.

In a block 915, the processor 110 determines a speed profile for eachsegment 150. The speed profile includes the projected speed that thevehicle 100 will maintain in the segment 150 as well as accelerationsand decelerations based on the segment 150. For example, the segment 150may be on a highway with a substantially constant speed and little to nodecelerations. In another example, the segment 150 may be on a busy citystreet with a plurality of traffic lights, requiring more than onedeceleration to a stop and acceleration from the stop.

In a block 920, the processor 110 predicts the amount of regenerativeenergy available from the predicted decelerations along the route 135.The processor 110 can be programmed to estimate the amount ofregenerated energy and the time at which the energy is regenerated basedon the information about the segments 150.

In a block 925, the processor 110 determines where the regeneratedenergy would increase the state of charge of the battery system 125above a charge threshold. The charge threshold can be determined as astate of charge less than the maximum state of charge by a predictedincrease in the state of charge. As described above, when theregenerated energy would increase the state of charge of the batterysystem 125 beyond a maximum state of charge, the regenerated energy maybe lost. The processor 110 can be programmed to identify where on theroute 135 the regenerated energy would increase the state of charge ofthe battery system 125 to potentially lose recoverable energy. Theprocessor 110 can identify one or more segments 150 where the specifiedstate of charge of the battery system 125 will increase because of theregenerated energy.

In a block 930, the processor 110 commands increased battery system 125operation to one or more segments 150 to reduce the state of charge ofthe battery system 125 to below the charge threshold. The processor 110can actuate one or more of the subsystems to keep the current state ofcharge of the battery system 125 below the charge threshold prior toentering the one or more segments 150 to ensure that the predictedrecovered energy will be fully recovered by the battery system 125.Furthermore, the processor 110 can be programmed to reduce the poweroutput of the engine 120 prior to entering the one or more segments 150to reduce the current state of charge of the battery system 125 to belowthe charge threshold. The processor 110 can selectively command thebattery system 125 output and the engine 120 output to reduce the stateof charge of the battery system 125 below the charge threshold by theregenerated state of charge predicted by the processor 110. Followingthe block 930, the process 900 ends.

In general, the computing systems and/or devices described may employany of a number of computer operating systems, including, but by nomeans limited to, versions and/or varieties of the Ford Sync® operatingsystem, the Microsoft Windows® operating system, the Unix operatingsystem (e.g., the Solaris® operating system distributed by OracleCorporation of Redwood Shores, Calif.), the AIX UNIX operating systemdistributed by International Business Machines of Armonk, N.Y., theLinux operating system, the Mac OSX and iOS operating systemsdistributed by Apple Inc. of Cupertino, Calif., the BlackBerry OSdistributed by Blackberry, Ltd. of Waterloo, Canada, and the Androidoperating system developed by Google, Inc. and the Open HandsetAlliance. Examples of computing devices include, without limitation, anon-board vehicle computer, a computer workstation, a server, a desktop,notebook, laptop, or handheld computer, or some other computing systemand/or device.

Computing devices generally include computer-executable instructions,where the instructions may be executable by one or more computingdevices such as those listed above. Computer-executable instructions maybe compiled or interpreted from computer programs created using avariety of programming languages and/or technologies, including, withoutlimitation, and either alone or in combination, Java™, C, C++, VisualBasic, Java Script, Perl, etc. In general, a processor (e.g., amicroprocessor) receives instructions, e.g., from a memory, acomputer-readable medium, etc., and executes these instructions, therebyperforming one or more processes, including one or more of the processesdescribed herein. Such instructions and other data may be stored andtransmitted using a variety of computer-readable media.

A computer-readable medium (also referred to as a processor-readablemedium) includes any non-transitory (e.g., tangible) medium thatparticipates in providing data (e.g., instructions) that may be read bya computer (e.g., by a processor of a computer). Such a medium may takemany forms, including, but not limited to, non-volatile media andvolatile media. Non-volatile media may include, for example, optical ormagnetic disks and other persistent memory. Volatile media may include,for example, dynamic random access memory (DRAM), which typicallyconstitutes a main memory. Such instructions may be transmitted by oneor more transmission media, including coaxial cables, copper wire andfiber optics, including the wires that comprise a system bus coupled toa processor of a computer. Common forms of computer-readable mediainclude, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, any other magnetic medium, a CD-ROM, DVD, any otheroptical medium, punch cards, paper tape, any other physical medium withpatterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any othermemory chip or cartridge, or any other medium from which a computer canread.

Databases, data repositories or other data stores described herein mayinclude various kinds of mechanisms for storing, accessing, andretrieving various kinds of data, including a hierarchical database, aset of files in a file system, an application database in a proprietaryformat, a relational database management system (RDBMS), etc. Each suchdata store is generally included within a computing device employing acomputer operating system such as one of those mentioned above, and areaccessed via a network in any one or more of a variety of manners. Afile system may be accessible from a computer operating system, and mayinclude files stored in various formats. An RDBMS generally employs theStructured Query Language (SQL) in addition to a language for creating,storing, editing, and executing stored procedures, such as the PL/SQLlanguage mentioned above.

In some examples, system elements may be implemented ascomputer-readable instructions (e.g., software) on one or more computingdevices (e.g., servers, personal computers, etc.), stored on computerreadable media associated therewith (e.g., disks, memories, etc.). Acomputer program product may comprise such instructions stored oncomputer readable media for carrying out the functions described herein.

With regard to the processes, systems, methods, heuristics, etc.described herein, it should be understood that, although the steps ofsuch processes, etc. have been described as occurring according to acertain ordered sequence, such processes could be practiced with thedescribed steps performed in an order other than the order describedherein. It further should be understood that certain steps could beperformed simultaneously, that other steps could be added, or thatcertain steps described herein could be omitted. In other words, thedescriptions of processes herein are provided for the purpose ofillustrating certain embodiments, and should in no way be construed soas to limit the claims.

Accordingly, it is to be understood that the above description isintended to be illustrative and not restrictive. Many embodiments andapplications other than the examples provided would be apparent uponreading the above description. The scope should be determined, not withreference to the above description, but should instead be determinedwith reference to the appended claims. It is intended that futuredevelopments will occur in the technologies discussed herein, and thatthe disclosed systems and methods will be incorporated into such futureembodiments. In sum, it should be understood that the application iscapable of modification and variation.

The Abstract is provided to allow the reader to quickly ascertain thenature of the technical disclosure. It is submitted with theunderstanding that it will not be used to interpret or limit the scopeor meaning of the claims. In addition, in the foregoing DetailedDescription, it can be seen that various features are grouped togetherin various embodiments for the purpose of streamlining the disclosure.This method of disclosure is not to be interpreted as reflecting anintention that the claimed embodiments require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive subject matter lies in less than all features of asingle disclosed embodiment. Thus the following claims are herebyincorporated into the Detailed Description, with each claim standing onits own as a separately claimed subject matter.

1. A computer, comprising a processor programmed to: receive informationof a plurality of locations on a route for a vehicle; identify aplurality of segments of the route based at least in part on theinformation; determine a specified state of charge of a vehicle batteryand a specified power output of an engine for each of the segments basedat least in part on the information; and actuate one or more vehiclesubsystems to navigate each of the segments to change a current state ofcharge of the vehicle battery to the specified state of charge.
 2. Thecomputer of claim 1, wherein the processor is further programmed toselectively actuate a powertrain subsystem with one of the vehiclebattery and the engine based at least in part on the information tochange the current state of charge of the vehicle battery to thespecified state of charge.
 3. The computer of claim 1, wherein theprocessor is further programmed to increase the specified power outputof the engine for at least one of the segments based at least in part onthe information to increase the current state of charge of the vehiclebattery.
 4. The computer of claim 1, wherein the processor is furtherprogrammed to identify one or more segments where the specified state ofcharge of the vehicle battery will increase and to actuate one or moreof the subsystems to keep the current state of charge of the vehiclebattery below a charge threshold prior to entering the one or moresegments.
 5. The computer of claim 4, wherein the processor is furtherprogrammed to identify a segment where a brake subsystem is predicted toincrease the current state of charge of the battery with regenerativebraking and to actuate one or more of the subsystems to reduce thecurrent state of charge of the vehicle battery below the chargethreshold prior to entering the segment.
 6. The computer of claim 5,wherein the processor is further programmed to predict a regeneratedstate of charge produced by the brake subsystem in the segment and toreduce a power output of the engine prior to entering the segment toreduce the current state of charge of the battery below the chargethreshold by the regenerated state of charge predicted by the processor.7. The computer of claim 1, wherein the processor is further programmedto identify one or more segments where a vehicle speed is predicted tobe above a speed threshold and to increase a power output of the enginewhen the vehicle is in the one or more segments.
 8. The computer ofclaim 7, wherein the processor is further programmed to actuate the oneor more subsystems with the vehicle battery when the vehicle is not inthe one or more segments where the vehicle speed is predicted to beabove the speed threshold.
 9. The computer of claim 1, wherein theprocessor is further programmed to selectively actuate the subsystems toreduce the state of charge of the battery to reach a depletion thresholdconcurrently with completion of the route.
 10. The computer of claim 1,wherein the processor is further programmed to receive new informationabout the segments while the vehicle is moving along the route and toadjust the specified state of charge of the vehicle battery and thespecified power output of the engine for the upcoming segments based onthe new information.
 11. A method, comprising: receiving information ofa plurality of locations on a route for a vehicle; identifying aplurality of segments of the route based at least in part on theinformation; determining a specified state of charge of a vehiclebattery and a specified power output of an engine for each of thesegments based at least in part on the information; and actuating one ormore vehicle subsystems to navigate each of the segments to change acurrent state of charge of the vehicle battery to the specified state ofcharge.
 12. The method of claim 11, further comprising selectivelyactuating a powertrain subsystem with one of the vehicle battery and theengine based at least in part on the information to change the currentstate of charge of the vehicle battery to the specified state of charge.13. The method of claim 11, further comprising increasing the specifiedpower output of the engine for at least one of the segments based atleast in part on the information to increase the current state of chargeof the vehicle battery.
 14. The method of claim 11, further comprisingidentifying one or more segments where the specified state of charge ofthe vehicle battery will increase and actuating one or more of thesubsystems to keep the current state of charge of the vehicle batterybelow a charge threshold prior to entering the one or more segments. 15.The method of claim 14, further comprising identifying a segment where abrake subsystem is predicted to increase the current state of charge ofthe battery with regenerative braking and actuating one or more of thesubsystems to reduce the current state of charge of the vehicle batterybelow the charge threshold prior to entering the segment.
 16. The methodof claim 15, further comprising predicting a regenerated state of chargeproduced by the brake subsystem in the segment and reducing a poweroutput of the engine prior to entering the segment to reduce the currentstate of charge of the battery below the charge threshold by theregenerated state of charge predicted by a processor.
 17. The method ofclaim 11, further comprising identifying one or more segments where avehicle speed is predicted to be above a speed threshold and to increasea power output of the engine when the vehicle is in the one or moresegments.
 18. The method of claim 17, further comprising actuating theone or more subsystems with the vehicle battery when the vehicle is notin the one or more segments where the vehicle speed is predicted to beabove the speed threshold.
 19. The method of claim 11, furthercomprising selectively actuating the subsystems to reduce the state ofcharge of the battery to reach a depletion threshold concurrently withcompletion of the route.
 20. The method of claim 11, further comprisingreceiving new information about the segments while the vehicle is movingalong the route and to adjust the specified state of charge of thevehicle battery and the specified power output of the engine for theupcoming segments based on the new information.